-
Notifications
You must be signed in to change notification settings - Fork 131
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Config pipeline #1005
Config pipeline #1005
Conversation
…integration test output to stdout
…junit_report and setup_goreleaser
bitrise.yml
Outdated
- bundle::run_integration_tests: { } | ||
meta: | ||
bitrise.io: | ||
stack: osx-xcode-16.0.x |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about running on osx-xcode-latest
, which is a pointer to the latest edge stack? We do this in some build platform projects, it has two benefits:
- Dogfoods the edge stacks, which often have experimental fixes and changes applied
- This stack ID will never be removed or become invalid, there is no need to manually update it after a stack gets deprecated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed in 945ccd8
meta: | ||
bitrise.io: | ||
machine_type_id: elite-xl | ||
stack: linux-docker-android-20.04 # TODO: Docker tests are failing on Ubuntu 22.04 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK, we have a ticket for this in the BE backlog
- script: | ||
title: Skipping success | ||
is_always_run: false | ||
go install github.com/jstemmer/go-junit-report/v2@latest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: would be good to pin the version
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, do we want to pin an exact version? Currently, we pin the major version 2 (github.com/jstemmer/go-junit-report/v2
)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, that could be enough, but I also don't see any reason not to pin an exact version. A commit hash won't disappear from GitHub (well, it could be force-pushed, but let's hope it never happens)
bitrise.yml
Outdated
is_always_run: false | ||
go install github.com/jstemmer/go-junit-report/v2@latest | ||
if [ "$(uname)" == "Linux" ] && command -v asdf >/dev/null && asdf plugin list | grep -q 'golang'; then | ||
asdf reshim golang |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I usually just do asdf reshim golang || true
, don't overthink it, this is Bash 😆
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated in a5d9d7d
Checklist
README.md
is updated with the changes (if needed)Version
Requires a NO version update
Context
This PR merges the project's macOS and Linux CI workflows into a single Pipeline and switches to a repository stored bitrise.yml.
The new
ci
pripeline runs unit, integration and binary build tests in both Linux and macOS machines in parallel. The previous sequential CI workflows are converted into step bundles and executed in stacks specific workflows:check
workflow ->run_lint
andrun_unit_tests
step bundles, executed inrun_lint
,run_unit_tests_macos
andrun_unit_tests_linux
workflowsintegration-test
workflow ->run_integration_tests
andrun_docker_integration_tests
steps bundles, executed inrun_integration_tests_macos
,run_integration_tests_linux
andrun_docker_integration_tests_linux
workflowstest-binary-build
workflow ->test_binary_build_macos
andtest_binary_build_linux
The new config's trigger map and
release
workflow is coming from the Bitrise.io stored bitrise.yml.The new
run_unit_tests
andrun_integration_tests
step bundles are exporting test results for the testing adding.